# 字典参数
def my_func1(*args):
    print(args)
# 字典参数：自动把不用的关键字参数变成字典
"""
情况：
  1、变量名不能放到后面
  2、 变量放在 字典参数之前 
         有默认值：
             1、实参可以不传递，传递其他的被我们字典参数接收
             2、实参没有关键字参数，按照传递的顺序给形参值
         无默认值：
             所有的形参都要有值，字典参数可以为空
         字典参数前一个形参必须要有默认值(第一个形参有默认值时，第一个形参没有默认值时，
                                    后面的可有可无) 
  3、变量 可变参数 字典参数 my_func2(a=2,b=3,*args,**kwargs,)
      1、可变参数一定要在 字典参数之前
      2、变量的值直接传递，不需要关键字参数 
             my_func2(a=1,b=2,123,name='李四')   错误写法
             my_func2(1,2,123,name='李四')  正确
             
      3、my_func2(*args,a,b,**kwargs):
           正确参数：   my_func2(123,3,4,21,3,a=1,b=2,name='李四')
           错误写法：   my_func2(123,3,4,21,3,1,2,name='李四')                                   k                               
"""

def my_func2(*args,a=21,b=22,**kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
# my_func1(1,2,2,2,2,)
my_func2(123,3,4,21,b=1,c=2,a=3,name='李四')
